home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / cmln0385.arc / MATMAN.TST < prev    next >
Text File  |  1986-02-27  |  3KB  |  90 lines

  1.  
  2.           The automatic test program for module MatMan
  3.        
  4.                   by Namir Clement Shammas
  5.  
  6. MODULE AutoTest;
  7. (* Module to test matrix management module, MatMan *)
  8.  
  9.  
  10. FROM MatMan IMPORT HIROW, Loc, Loc0, LOC, LOC0, SwapColumn, SwapRow,
  11.                    Transpose, InsertColumn, InsertRow, ResizeMat, 
  12.                    DeleteRow, DeleteColumn;
  13. FROM RealInOut IMPORT WriteReal;
  14. FROM InOut IMPORT Read, WriteLn, WriteString;
  15.  
  16. VAR X, Z : ARRAY [1..25] OF REAL; (* Pseudo-matrices *)
  17.     Y : ARRAY [1..5] OF REAL; (* Row/Column *)
  18.     HICOL, I, J : CARDINAL; (* Counters and indices *)
  19.     DUM : CHAR; (* Dummy variable *)
  20.  
  21. PROCEDURE PAUSE;
  22. (* Procedure used to pause in between displays *)
  23. BEGIN
  24.     WriteString('PRESS ANY KEY TO CONTINUE');
  25.     Read(DUM); WriteLn; WriteLn;
  26. END PAUSE;è
  27.  
  28. PROCEDURE SHOW;
  29. (* Show the current matrix *)    
  30. BEGIN
  31.     FOR I := 1 TO HIROW DO
  32.         FOR J := 1 TO HICOL DO
  33.             WriteReal(X[Loc(I,J)],10);
  34.             WriteString('  ')
  35.         END;
  36.         WriteLn;
  37.     END;
  38. END SHOW;
  39.  
  40. BEGIN (* MAIN *)
  41.     HICOL := 3; 
  42.     HIROW := 3;
  43.     (*  Initialize pseudo-matrix x and array Y *)
  44.     FOR I := 1 TO HIROW DO
  45.         FOR J := 1 TO HICOL DO
  46.             X[Loc(I,J)] := 1.0
  47.         END;
  48.         Y[I] := 2.0
  49.     END;
  50.  
  51.     Y[4] := 2.0; Y[5] := 2.0;    
  52.     WriteString('Initial matrix is'); WriteLn;
  53.     SHOW; PAUSE;
  54.  
  55.     WriteString('Matrix after inserting row Y in column 2'); WriteLn;
  56.     InsertColumn(X,Y,2,HIROW,HICOL); SHOW; PAUSE;
  57.  
  58.     FOR I := 1 TO 5 DO
  59.         Y[I] := 3.0
  60.     END;
  61.     WriteString('Matrix after inserting row Y in row 2 '); WriteLn;
  62.     InsertRow(X,Y,2,HIROW,HICOL); SHOW; PAUSE;
  63.  
  64.     WriteString('Matrix Z'); WriteLn;
  65.     Transpose(X,Z,HIROW,HICOL);
  66.     FOR I := 1 TO HICOL DO
  67.         FOR J := 1 TO HIROW DO
  68.             WriteReal(Z[Loc(I,J)],10);
  69.             WriteString('  ')
  70.         END;
  71.         WriteLn
  72.     END;
  73.  
  74.     WriteString('Matrix after swapping columns 2 and 1 '); WriteLn;
  75.     SwapColumn(X,1,2,HIROW); SHOW; PAUSE;
  76.  
  77.     WriteString('Matrix after swapping rows 2 and 3'); WriteLn;
  78.     SwapRow(X,2,3,HIROW,HICOL); SHOW; PAUSE;
  79.  
  80.     WriteString('Matrix after deleting column 2'); WriteLn;è    DeleteColumn(X,2,HIROW,HICOL); SHOW; PAUSE;
  81.  
  82.     WriteString('Matrix after deleteing row 2 '); WriteLn;
  83.     DeleteRow(X,2,HICOL,HIROW); SHOW; PAUSE;
  84.  
  85.     WriteString('Matrix after being resized to 2 row'); WriteLn;
  86.     ResizeMat(X,HIROW,2,HICOL); HIROW := 2; SHOW; PAUSE;
  87.  
  88. END AutoTest.
  89.  
  90.